home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 41.zip / BS1 part 41 / Lattice C v5.02 d1.adf / read.me < prev    next >
Text File  |  1988-01-20  |  16KB  |  417 lines

  1.            Lattice AmigaDOS C Compiler Version 5.0 - 11/07/88
  2.  
  3. This file contains introductory information about Lattice C for the Amiga.
  4. It also contains suggestions, hints, and miscellaneous information that 
  5. for whatever reason may not be in the manual.
  6.  
  7. It is very important to read the contents of this file when installing a 
  8. new or updated version of the Lattice compiler. Most of the information in 
  9. this file was compiled after the manual went to press, and so is probably 
  10. not included in the standard documentation. Also, if an update does not 
  11. include new documentation then this file will contain a list of enhance-
  12. ments and bug fixes.
  13.   
  14. The "Click For Info On...." program used to display this file from 
  15. Workbench will pause after every 22 lines. To abort simply type
  16.    q <return>
  17. at the pause. To continue the listing, just type
  18.      <return>
  19.  
  20.   
  21.  
  22.  
  23.  
  24.  
  25. Installing the Compiler on a hardisk:
  26.    1) Copy the s/install_hd on disk 1 to ram:
  27.    2) Type CD ram:
  28.    3) Type execute install_hd DRIVE
  29.         where DRIVE is the destination for the compiler (ie DH0:)
  30.    4) Change disks when asked to.
  31.    
  32. Notes.
  33.  
  34.      Disk 5 contains a file called ADDENDUM.DOC which contains 
  35.             information omitted from the User's Manual.  READ THIS FILE!!!
  36.  
  37.  
  38.  
  39.  
  40.  
  41. Miscellaneous -
  42.  
  43. When using the background task startup routine cback.o the linker may
  44. generate the error message
  45.  
  46.  Error 515: An ALV was generated pointing to data  symbol
  47.  
  48. This message should be a Warning message, and should display the symbol 
  49. name XCEXIT. This is a minor bug in blink that will be addressed in a 
  50. future release.
  51.   
  52. The message itself is normal, and is a consequence of the method used by
  53. cback.o to establish the program as a background task. In order to generate
  54. relocation information that would be relevant to data that might be copied
  55. to another part of memory, the exit code is assembled in a data section.
  56. Normally a C program would never reference something in a data section as 
  57. a function.
  58.   
  59.  
  60.  
  61.  
  62.  
  63. Organization -
  64.  
  65. Version 5.0 is distributed on five Amiga diskettes. The main compiler
  66. environment consists of the first two diskettes and includes a bootable
  67. system disk with the executable programs, the Amiga header files in
  68. compressed form, and the normal run-time support libraries. The remaining 
  69. diskettes contain the un-compressed header files, the Assembler include 
  70. files, a set of libraries used for special applications, the Lattice 
  71. CodeProbe Debugger, the Lattice Macro Assembler, the Lattice Compiler 
  72. Companion Utilities, and some useful public-domain utilties. Note that 
  73. because of last minute additions that required expansion to five diskettes 
  74. the contents differ from that described in the manual. 
  75.       
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83. ::::::::::::::::::::::::Contents of disks::::::::::::::::::::::::::::
  84.  
  85. Disk 1
  86.      c (dir)
  87.        AddBuffers                       Assign
  88.        Avail                            Binddrivers
  89.        blink                            CD
  90.        ConMan                           Copy
  91.        Delete                           Dir
  92.        DropBuf                          Echo
  93.        Else                             EndCLI
  94.        EndIf                            Execute
  95.        Failat                           FF
  96.        GetEnv                           History
  97.        If                               Install
  98.        lc                               lc1
  99.        lc2                              lcerrs.deutsch
  100.        lcerrs.txt                       List
  101.        LoadWB                           lse
  102.        lse.dat                          lse.hlp
  103.        lse.msg                          Makedir
  104.        Mount                            NewCLI
  105.        NewShell                         Path
  106.        Prompt                           Protect
  107.        Push                             Queue
  108.        RemRAD                           Rename
  109.        Resident                         Run
  110.        SetClock                         SetCMan
  111.        SetEnv                           SetPatch
  112.        Stack                            Type
  113.      System (dir)
  114.        .info                            CLI
  115.        CLI.info                         Diskcopy
  116.        DiskCopy.info                    format
  117.        format.info                      SetMap
  118.        SetMap.info                      
  119.      l (dir)
  120.        Aux-Handler                      ConHandler
  121.        Disk-Validator                   FastFileSystem
  122.        Newcon-Handler                   Pipe-Handler
  123.        Port-Handler                     Ram-Handler
  124.        Shell-Seg                        Speak-Handler
  125.      devs (dir)
  126.           keymaps (dir)
  127.           printers (dir)
  128.           clipboards (dir)
  129.        clipboard.device                 MountList
  130.        narrator.device                  parallel.device
  131.        printer.device                   ramdrive.device
  132.        serial.device                    system-configuration
  133.      s (dir)
  134.        install_floppy                   install_hd
  135.        shell-startup                    startup-sequence
  136.      t (dir)
  137.      fonts (dir)
  138.      libs (dir)
  139.        ConHandler.library               diskfont.library
  140.        icon.library                     info.library
  141.        mathieeedoubbas.library          mathieeedoubtrans.library
  142.        mathtrans.library                translator.library
  143.        version.library                  
  144.      Empty (dir)
  145.      Expansion (dir)
  146.   .info                            Disk.info
  147.   Empty.info                       Expansion.info
  148.   on Lattice C                     On Lattice C.info
  149.   popcli                           read.me
  150.   Shell                            Shell.info
  151.   System.info                      
  152.  
  153. Disk 2
  154.      lib (dir)
  155.        amiga.lib                        c.o
  156.        catch.o                          catchres.o
  157.        catchresnr.o                     cback.o
  158.        cres.o                           lcmieee.lib
  159.        lc.lib                           lcm.lib
  160.        lcmr.lib                         lcms.lib
  161.        lcnb.lib                         lcr.lib
  162.        lcs.lib                          lcsr.lib
  163.        lcm881.lib                       lcmffp.lib
  164.      CompactH (dir)
  165.           clib (dir)
  166.           libraries (dir)
  167.           workbench (dir)
  168.           exec (dir)
  169.           graphics (dir)
  170.           intuition (dir)
  171.           resources (dir)
  172.           hardware (dir)
  173.           devices (dir)
  174.           proto (dir)
  175.        assert.h                         ctype.h
  176.        dos.h                            errno.h
  177.        error.h                          fcntl.h
  178.        fctype.h                         float.h
  179.        ios1.h                           limits.h
  180.        locking.h                        m68881.h
  181.        math.h                           nondp.h
  182.        setjmp.h                         signal.h
  183.        stddef.h                         stdio.h
  184.        stdlib.h                         string.h
  185.        time.h                           unlstd.h
  186.   .info                            Disk.info
  187.  
  188. Disk 3
  189.      Trashcan (dir)
  190.      c (dir)
  191.        build                            cpr
  192.        cpr.hlp                          cxref
  193.        diff                             dumpobj
  194.        extract                          fd2pragma
  195.        files                            go
  196.        grep                             lc1b
  197.        LCompact                         lmk
  198.        lprof                            lstat
  199.        omd                              oml
  200.        patch                            splat
  201.        tb                               touch
  202.        wc                               
  203.   .info                            Disk.info
  204.   Trashcan.info                    
  205.  
  206. Disk 4
  207.      Trashcan (dir)
  208.      cc_extras (dir)
  209.        .info                            demo.c
  210.        files.lmk                        grep.lmk
  211.        grepdemo.c                       grepdemo.doc
  212.        lmk.def                          lmk.info
  213.        on CC.info                       pat.h
  214.        read.me                          touch.doc
  215.        wc.c                             
  216.      lseinst (dir)
  217.        lseinst                          lseinst.msg
  218.      source (dir)
  219.        c.a                              catch.a
  220.        cback.a                          cxbrk.c
  221.        cxferr.c                         cxffp.a
  222.        cxovf.c                          ffptran.a
  223.        matherr.c                        oserr.c
  224.        ovs.a                            stub.c
  225.        syserr.c                         tinymain.c
  226.        uassert.c                        ucxovf.a
  227.        umain.c                          
  228.      examples (dir)
  229.        boxomatic.c                      cat.c
  230.        ftoc.c                           lines.c
  231.        memsup.a                         memwatch
  232.        memwatch.c                       memwatch.doc
  233.        popcli.c                         popcli.doc                       
  234.        popsup.a                         setdate.c                        
  235.        speechtoy.c
  236.           debugger (dir)
  237.             avail.cpr                        CprARexx.doc
  238.             dbptr.cpr                        dbstr.cpr
  239.             devices.cpr                      devs.cpr
  240.             execbase.cpr                     ints.cpr
  241.             libraries.cpr                    libs.cpr
  242.             lines.c                          makeaptr.cpr
  243.             memory.cpr                       mods.cpr
  244.             ports.cpr                        regions.cpr
  245.             resources.cpr                    rsrcs.cpr
  246.             setbreaks                        showcli.cpr
  247.             showprocess.cpr                  smain
  248.             smain.c                          sort
  249.             sort.c                           status.cpr
  250.             swap.c                           whichis.cpr
  251.      Compiler_Headers (dir)
  252.           clib (dir)
  253.           libraries (dir)
  254.           workbench (dir)
  255.           exec (dir)
  256.           graphics (dir)
  257.           intuition (dir)
  258.           resources (dir)
  259.           hardware (dir)
  260.           devices (dir)
  261.           proto (dir)
  262.        assert.h                         ctype.h
  263.        dos.h                            errno.h
  264.        error.h                          fcntl.h
  265.        fctype.h                         float.h
  266.        ios1.h                           limits.h
  267.        locking.h                        m68881.h
  268.        math.h                           nondp.h
  269.        setjmp.h                         signal.h
  270.        stddef.h                         stdio.h
  271.        stdlib.h                         string.h
  272.        time.h                           
  273.   Disk.info                        Trashcan.info
  274.  
  275. Disk 5
  276.      lib (dir)
  277.        ddebug.lib                       debug.lib
  278.        lcsnb.lib
  279.      Trashcan (dir)
  280.      Assembler_Headers (dir)
  281.           libraries (dir)
  282.           workbench (dir)
  283.           exec (dir)
  284.           graphics (dir)
  285.           intuition (dir)
  286.           resources (dir)
  287.           hardware (dir)
  288.           devices (dir)
  289.   Addendum.doc                     asm
  290.   Disk.info                        Trashcan.info
  291.   
  292. Problems corrected in V5.02:
  293. ===========================
  294.  
  295. LC1 and LC2
  296. -----------
  297. 1)  Several CXERR's have been fixed.                
  298. 2)  Incorrect code generation for logical comparisons has been fixed.   
  299. 3)  Failure to promote unsigned for "-w" has been fixed.
  300. 4)  Functions loading doubles off the stack from incorrect offsets with 
  301.     "-f8" has been fixed.
  302. 5)  Registerized parameters loads up parm with correct offsets.      
  303. 6)  Short integer constants too wide for a short with "-w" option are now 
  304.     silently promoted.                       
  305. 7)  Formal register double parameters are now loaded correctly with "-f8".
  306. 8)  Mixing "-b0" and "-r1" options now works correctly.         
  307. 9)  Undefined symbol errors have been fixed.                  
  308. 10) Fast floating point problem, "-ff", has been fixed.
  309. 11) Mixing "-b0" and "-x" problem has been fixed.        
  310. 12) The "-b0" option generating incorrect offset for reverse pc-relative 
  311.     calls has been fixed.
  312. 13) The __saveds keyword has been fixed.                          
  313. 14) 68020 generates correct code for indexing.  
  314. 15) Address of external strings coalescing with "b0" has been fixed.
  315. 16) The "-v -y" options now work correctly when used together.
  316. 17) The "-x" option now works for initializers.
  317. 18) Listing option puts correct version number on page headers.
  318. 19) The __builtin_strlen function has been fixed.
  319. 20) Chip keyword no longer causes relocs to incorrect hunk.            
  320. 21) The volatile keyword now works.                
  321. 22) Autoincrement with shorts now clears out data register.  
  322. 23) Indexing by an unsigned short no longer loses register contents.
  323. 24) Insufficient registers for call through function ptr has been fixed.
  324. 25) Header files causing a stack overflow has been fixed.           
  325. 26) Constants like 0x3E8 are now loaded correctly under ms.         
  326. 27) Multiply by 255 now works.                           
  327. 28) The "-s" option now works.                                 
  328. 29) Compiler now preserves D2/D3 on calls to CXM55.      
  329.  
  330. CodeProbe
  331. ---------
  332. 1)  The catch command no longer causes gurus if an invalid task name is 
  333.     specified.
  334. 2)  Detach successfully restarts a task before detaching.
  335. 3)  If a task is waiting on a message port when a <CTRL>-C is typed
  336.     from the debugger, the task can now be re-started successfully.
  337. 4)  The disassembled instruction bytes are now displayed as words:
  338.     00C01234: xxxx xxxx xxxx      MOVE.L  a0,foo
  339. 5)  Invoking the debugger before any other access to ram: no longer causes
  340.     the debugger to hang.
  341. 6)  The commands dd and df with the %e and %g format now print exponents 
  342.     correctly.
  343. 7)  The dump commands now display correctly when a register is given as
  344.     an argument.
  345. 8)  The debugger now removes tasks that exit by calling RemTask(0)
  346.     from its active task list.
  347. 9)  If a call to DeviceProc() or OpenDevice() open a device for the very
  348.     first time, an AddTask() is performed to create the Device handler.
  349.     By default, the debugger no longer grabs the new task. In most cases 
  350.     this is the desirable action, however this is probably not what people 
  351.     who debug device drivers will want to do.  Therefore, an option is 
  352.     provided to allow these tasks to be caught. This option is the last
  353.     selection in the Options menu.
  354. 10) AutoSwap mode and instruction bytes now default to OFF.
  355.  
  356. LC
  357. --
  358. 1) "H" option fixed.
  359. 2) "q" or "o" option lets you specify any extension for precompiled headers.
  360. 3) "R" option fixed.
  361. 4) Put "" in .lnk files so filenames with spaces will work.
  362.  
  363. BLINK
  364. -----
  365. 1) Handles "" in with files correctly.
  366. 2) Handles Overlays correctly again.
  367. 3) Handles large libraries and libraries with debugging information 
  368.    correctly.
  369. 4) Does not write out 0 length code hunks.
  370.  
  371. LSE
  372. ---
  373. 1) Compile from memory gives you more information and does not cause
  374.    bad characters to appear on the bottom of the screen.
  375. 2) The autoindent and '}' bug has been fixed.
  376. 3) Interlace mode now sizes window correctly.
  377. 4) The "-o" option is no longer necessary on compile options.
  378. 5) LSE is significantly smaller in code size.
  379. 6) You can now RUN LSE and still compile from memory.
  380.  
  381. LMK
  382. ---
  383. 1) Handles default rules correctly.
  384.  
  385. ASM
  386. ---
  387. 1) Minor code generation bugs fixed.
  388. 2) Puts out warnings for BRA.L and 68030 instructions on 68000.
  389. 3) CSECT allows PC relative or base relative addressing by default.
  390.  
  391. TB
  392. --
  393. 1) Handles Chip and Fast bits correctly.
  394.  
  395. LIBRARIES and HEADERS
  396. ---------------------
  397. 1) lcm881.lib works correctly now.
  398. 2) Stubs added for registerized parmeters so AMIGA.LIB is totally optional.
  399. 3) _exit fixed.
  400. 4) Overlay manager fixed.
  401. 5) The startup routine cback.o has been fixed.
  402. 6) DeleteExtIO and CreateExtIO now are like AMIGA.LIB. The prototype in
  403.    proto/exec.h was also corrected.
  404. 7) astcsma is now case insensitive.
  405. 8) A bug in DOS.H that happened when short ints were used has been fixed.
  406.    It fixes the problem with getmem() returning memory on long word
  407.    boundaries only, and fixes the problem with getfnl().
  408. 9) A prototype for system() was added to stdlib.h
  409. 10) CreateTask and DeleteTask now function like AMIGA.LIB
  410. 11) LCNB.LIB and LCSNB.LIB now work without linking in the math library.
  411. 12) The macro offsetof was added to stddef.h
  412. 13) BSTR * was changed to BSTR in libraries/dosextens.h
  413. 14) The %e in printf and similar fuctions has been fixed.
  414. 15) grep.lib included.
  415.  
  416.  
  417.           Imported and spread by the Band 1989